package com.ruoyi.hotel.mapper;

import java.util.List;
import com.ruoyi.hotel.domain.HotelRoomChange;
import com.ruoyi.hotel.domain.HotelRoomList;
import com.ruoyi.hotel.domain.vo.HotelRoomChangeTypeVO;

/**
 * 酒店房间变动Mapper接口
 *
 * @author iis
 * @date 2024-03-30
 */
public interface HotelRoomChangeMapper
{
    /**
     * 查询酒店房间变动
     *
     * @param id 酒店房间变动主键
     * @return 酒店房间变动
     */
    public HotelRoomChange selectHotelRoomChangeById(Long id);

    /**
     * 查询酒店房间变动列表
     *
     * @param hotelRoomChange 酒店房间变动
     * @return 酒店房间变动集合
     */
    public List<HotelRoomChange> selectHotelRoomChangeList(HotelRoomChange hotelRoomChange);

    /**
     * 新增酒店房间变动
     *
     * @param hotelRoomChange 酒店房间变动
     * @return 结果
     */
    public int insertHotelRoomChange(HotelRoomChange hotelRoomChange);

    /**
     * 修改酒店房间变动
     *
     * @param hotelRoomChange 酒店房间变动
     * @return 结果
     */
    public int updateHotelRoomChange(HotelRoomChange hotelRoomChange);

    /**
     * 删除酒店房间变动
     *
     * @param id 酒店房间变动主键
     * @return 结果
     */
    public int deleteHotelRoomChangeById(Long id);

    /**
     * 批量删除酒店房间变动
     *
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteHotelRoomChangeByIds(Long[] ids);



    /**
     * 批量新增酒店房间变动表
     *
     * @param hotelRoomChangeList 酒店房间信息列表
     * @return 结果
     */
    public int batchInsertHotelRoomChange(List<HotelRoomChange> hotelRoomChangeList);





    /**
     * 查询酒店房间各个状态出现的次数
     *
     * @param hotelRoomChange 酒店房间信息列表
     * @return 结果
     */
    public List<HotelRoomChangeTypeVO> selectHotelRoomChangeTypeCount(HotelRoomChange hotelRoomChange);
}
